#ifndef SYSTEMTRAYTYPEDEFS_H
#define SYSTEMTRAYTYPEDEFS_H

#include <QByteArray>
#include <QString>
#include <QVector>
#include <QDBusArgument>
#include <QVector>

struct UKUIDBusImageStruct {
    int width;
    int height;
    QByteArray data;
};

typedef QVector<UKUIDBusImageStruct> UKUIDBusImageVector;

struct UKUIDBusToolTipStruct {
    QString icon;
    UKUIDBusImageVector image;
    QString title;
    QString subTitle;
};

const QDBusArgument &operator<<(QDBusArgument &argument, const UKUIDBusImageStruct &icon);
const QDBusArgument &operator>>(const QDBusArgument &argument, UKUIDBusImageStruct &icon);
Q_DECLARE_METATYPE(UKUIDBusImageStruct)

const QDBusArgument &operator<<(QDBusArgument &argument, const UKUIDBusImageVector &iconVector);
const QDBusArgument &operator>>(const QDBusArgument &argument, UKUIDBusImageVector &iconVector);
Q_DECLARE_METATYPE(UKUIDBusImageVector)

const QDBusArgument &operator<<(QDBusArgument &argument, const UKUIDBusToolTipStruct &toolTip);
const QDBusArgument &operator>>(const QDBusArgument &argument, UKUIDBusToolTipStruct &toolTip);
Q_DECLARE_METATYPE(UKUIDBusToolTipStruct)



#endif
